/**
 * BilbaoUtils.h
 *
 * @author Bematech S.A.
 */

#ifndef __BILBAO_UTIL_BILBAO_UTILS_CLASS_H__
#define __BILBAO_UTIL_BILBAO_UTILS_CLASS_H__

#include "bilbao/types.h"

namespace bilbao
{
	namespace util
	{
		/**
		 * @brief Classe utilitÃ¡ria com funÃ§Ãµes de manÃ©ria geral para auxiliar
		 * cÃ¡lculos diversos.
		 */
		class BilbaoUtils
		{
		public:

			/**
			 *
			 */
			BilbaoUtils( void );

			/**
			 *
			 */
			virtual ~BilbaoUtils( void );

			/**
			 *
			 */
			static int calcDVBase2_9Mod11( const std::string& num );

			/**
			 *
			 */
			static int RandomNumber ( void );

			/**
			 *
			 */
			static bool FileExists( std::string file );

			/**
			 *
			 */
			static int FileSize( std::string file );

			/**
			 *
			 */
			static std::string File2String( std::string file );
		};
	} //namespace bilbao
} //namespace util

#endif //__BILBAO_UTIL_BILBAO_UTILS_CLASS_H__
